<script type="text/javascript">
$(function(){
		
	$("#fechaNacimiento").datePickerPositivaFechaHora();
	
	// Se asocia la funcion guardar al boton correspondiente
	$("#guardarPostulante").click(function(e) {
		e.preventDefault();
		if (validarFormularioPostulante()) {
			
			if($("#idSolicitudIngreso").attr("value")!=''){
				enviarFormularioAsociarPostulanteNuevo('crearPostulanteForm','${appCtx}/conexia-rrhh/asociarPostulanteNuevo',
				'${appCtx}/conexia-rrhh/gestionarSolicitudAprobada',$("#idSolicitudIngreso").attr("value"));
			} else if($("#id").attr("value")!=''){
				enviarFormulario('crearPostulanteForm','${appCtx}/conexia-rrhh/updatePostulante',
				'${appCtx}/conexia-rrhh/administrarPostulantes');
			} else{
				enviarFormulario('crearPostulanteForm','${appCtx}/conexia-rrhh/savePostulante',
					'${appCtx}/conexia-rrhh/administrarPostulantes');
			}
			
		}else{
			$("#crear_postulante_dialog").scrollTop(0);
		} 
	});
});

function validarFormularioPostulante(){
	
	cleanForm ('crearPostulanteForm','formField','#000000');
	var formularioValido = true;
	
	if($("#fechaNacimiento").attr("value")==''){
		possErrorMessage("fechaNacimiento");
		formularioValido = false;
	}
	
	if($("#nombre").attr("value")==''){
		possErrorMessage("nombre");
		formularioValido = false;
	}
	
	if($("#apellido").attr("value")==''){
		possErrorMessage("apellido");
		formularioValido = false;
	}
	
	if($("#direccion").attr("value")==''){
		possErrorMessage("direccion");
		formularioValido = false;
	}
	
	if($("#remuneracionPretendida").attr("value")==''){
		possErrorMessage("remuneracionPretendida");
		formularioValido = false;
	}
	
	return formularioValido;
}

/**
 * funcion para mostrar mensajes luego de enviar un formulario a guardar.
 */ 
function mostrarMensajeFormularioAsociarPostulanteNuevo(mensaje,retornar,urlRetorno,idsolicitud) {
	$('div#messageDialog').dialog({
		title: 'Resultado de la Transaccion',
		autoOpen: true,
		height: 150,
		width: 450,
		modal: true,
		position: 'center',
		buttons: {
			'Cerrar': function() {
				 $(this).dialog("destroy");
				 if(retornar==true){
					 
					var form = document.createElement("form");
				    form.setAttribute("method", "post");
				    form.setAttribute("action", urlRetorno);
				    
				    var hiddenField = document.createElement("input");
		            hiddenField.setAttribute("type", "hidden");
		            hiddenField.setAttribute("name", "idSolicitud");
		            hiddenField.setAttribute("value", idsolicitud);
		            form.appendChild(hiddenField);
		            
		            document.body.appendChild(form);
		            form.submit();
				 }
			}
		}, 
		open: function(event, ui) {
			 $(this).parent().css('position', 'fixed');
			 $(this).html(mensaje);
		},
		close: function(event, ui) {
			 $(this).dialog("destroy");
			 if(retornar==true){
				var form = document.createElement("form");
			    form.setAttribute("method", "post");
			    form.setAttribute("action", urlRetorno);
			    
			    var hiddenField = document.createElement("input");
	            hiddenField.setAttribute("type", "hidden");
	            hiddenField.setAttribute("name", "idSolicitud");
	            hiddenField.setAttribute("value", idsolicitud);
	            form.appendChild(hiddenField);
	            
	            document.body.appendChild(form);
	            form.submit();
			 }
		}
	});
}

function enviarFormularioAsociarPostulanteNuevo(nombreformulario,urlEnvio,urlRetorno,idsolicitud){
	$.ajax({
		type: 'POST',
		data: $("#"+nombreformulario).serialize(),
		url:  urlEnvio,
		dataType: "json",
		complete: function(rsp) {
			if(rsp.responseText!=undefined){
				var obj = jQuery.parseJSON(rsp.responseText);
				if(obj.transactionResult=='true'){
					alert("rsp11");
					mostrarMensajeFormularioAsociarPostulanteNuevo(obj.transactionResultMessage,true,urlRetorno,idsolicitud);
				} else if (obj.transactionResultMessage!=''){
					// Si el error se especifica (fallo una regla de negocio) se muestra en pantalla 
				  	mostrarMensajeFormularioAsociarPostulanteNuevo('Error ejecutando la transaccion' + ':' + obj.transactionResultMessage,false,'');
				} else {
				 	// Si el error no se especifica (el motor lanzo una excepcion) se muestra un mensaje generico  
				 	mostrarMensajeFormularioAsociarPostulanteNuevo('Ha ocurrido un error. Intente realizar la operaci&oacute;n nuevamente. Si el error persiste, por favor contacte al administrador del sistema.',false,''); 
				}
			}else{
				mostrarMensajeFormularioAsociarPostulanteNuevo('Ha ocurrido un error. Intente realizar la operaci&oacute;n nuevamente. Si el error persiste, por favor contacte al administrador del sistema.',false,'');
			}	
		}
	});	
}
</script>